/*
 * Copyright 2006-2023 ahtelit.com, All Rights Reserved.
 */

package com.telit.firecommand.model.iot;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;


/**
 * 设备列表request
 *
 * @author yuezhuang
 * @since 2023-04-27
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "QryDevicesListRequest", description = "设备列表request")
public class QryDevicesListRequest implements Serializable {

    private static final long serialVersionUID = -1L;

    @ApiModelProperty(value = "大类数组，逗号分隔")
    private String categories;

    @ApiModelProperty(value = "系统应用绑定", hidden = true)
    private String appUsed;

    @ApiModelProperty(value = "产品类型代码，逗号分隔", hidden = true)
    private String productTypeCode;

    @ApiModelProperty(value = "当前页")
    private Integer page = 1;

    @ApiModelProperty(value = "每页条数")
    private Integer size = 20;

    @ApiModelProperty(value = "模糊查询字段")
    private String search;

    @ApiModelProperty(value = "行政区划编码")
    private String districtCode;

    @ApiModelProperty(value = "开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;

    @ApiModelProperty(value = "结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;

}
